Submit Search
Upload
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
•
9 likes
•
10,253 views
T
Takatoshi Matsuo
Follow
Postgre sql day2012
Read less
Read more
Technology
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
kazuhcurry
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
ksk_ha
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Paxos
Paxos
Preferred Networks
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
Yamato Tanaka
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Recommended
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
kazuhcurry
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
ksk_ha
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Paxos
Paxos
Preferred Networks
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
Yamato Tanaka
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Takatoshi Matsuo
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
OpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれ
Toru Makabe
並行実行制御の最適化手法
並行実行制御の最適化手法
Sho Nakazono
PostgreSQLの冗長化について
PostgreSQLの冗長化について
Soudai Sone
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
Pacemakerを使いこなそう
Pacemakerを使いこなそう
Takatoshi Matsuo
Snowflakeって実際どうなの?数多のDBを使い倒した猛者が語る
Snowflakeって実際どうなの?数多のDBを使い倒した猛者が語る
Ryota Shibuya
Interrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda
目grep入門 +解説
目grep入門 +解説
murachue
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
ksk_ha
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
Taro Matsuzawa
PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)
Kosuke Kida
More Related Content
What's hot
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Takatoshi Matsuo
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
OpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれ
Toru Makabe
並行実行制御の最適化手法
並行実行制御の最適化手法
Sho Nakazono
PostgreSQLの冗長化について
PostgreSQLの冗長化について
Soudai Sone
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
Pacemakerを使いこなそう
Pacemakerを使いこなそう
Takatoshi Matsuo
Snowflakeって実際どうなの?数多のDBを使い倒した猛者が語る
Snowflakeって実際どうなの?数多のDBを使い倒した猛者が語る
Ryota Shibuya
Interrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Hironobu Isoda
目grep入門 +解説
目grep入門 +解説
murachue
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
ksk_ha
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
What's hot
(20)
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
分散システムについて語らせてくれ
分散システムについて語らせてくれ
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
OpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれ
並行実行制御の最適化手法
並行実行制御の最適化手法
PostgreSQLの冗長化について
PostgreSQLの冗長化について
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
Pacemakerを使いこなそう
Pacemakerを使いこなそう
Snowflakeって実際どうなの?数多のDBを使い倒した猛者が語る
Snowflakeって実際どうなの?数多のDBを使い倒した猛者が語る
Interrupt Affinityについて
Interrupt Affinityについて
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
目grep入門 +解説
目grep入門 +解説
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
DockerとPodmanの比較
DockerとPodmanの比較
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Similar to HAクラスタで PostgreSQLレプリケーション構成の 高可用化
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
Taro Matsuzawa
PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)
Kosuke Kida
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
Amazon Web Services Japan
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
ksk_ha
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
Insight Technology, Inc.
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
Uptime Technologies LLC (JP)
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
20190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg12
Toshi Harada
関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側
Gosuke Miyashita
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
YusukeKuramata
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
Kohei KaiGai
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
Uptime Technologies LLC (JP)
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
Uptime Technologies LLC (JP)
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
maebashi
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
Uptime Technologies LLC (JP)
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
NTT DATA OSS Professional Services
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
Insight Technology, Inc.
あらゆるワークロードに最適なフラッシュ技術を選択できるNetAppポートフォリオ
あらゆるワークロードに最適なフラッシュ技術を選択できるNetAppポートフォリオ
NetApp Japan
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
Tatsuya Watanabe
Similar to HAクラスタで PostgreSQLレプリケーション構成の 高可用化
(20)
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
20190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg12
関西オープンソース 2008 30days Albumの裏側
関西オープンソース 2008 30days Albumの裏側
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
[db tech showcase Sapporo 2015] B14:データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第二章 b...
あらゆるワークロードに最適なフラッシュ技術を選択できるNetAppポートフォリオ
あらゆるワークロードに最適なフラッシュ技術を選択できるNetAppポートフォリオ
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
Recently uploaded
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Recently uploaded
(10)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
1.
HAクラスタで PostgreSQLレプリケーション構成の 高可用化 2012/11/30 PostgreSQL Day
2012 松尾隆利 1
2.
レプリケーション対応機能開発経緯 ~ 2009年 ■ PG-REX
というプロジェクトが存在 PG• PostgreSQL 8.3 + 独自パッチ 独自パッチ パッチで同期レプリケーションを実装 • HeartbeatでHAクラスタ化 Heartbeat 2010年 ■ PostgreSQL9.0 + Pacemaker PostgreSQL9.0 Pacemakerで開発 • 同期レプリケーション実現の独自パッチと、HAクラスタ化用独自パッチあり 同期レプリケーション実現の独自パッチと、HAクラスタ化用独自パッチあり レプリケーション実現 パッチと クラスタ化用独自 → 制御スクリプト(pgsql RA)をコミュニティへ投稿するもリジェクト 2011年 ■ PostgreSQL9.1 + Pacemakerで開発 (社外からも応援あり) PostgreSQL9.1 • RAほぼ作り直し → コミュニティ絶賛!(tremendous job !!) 2012年 ■ 4月13日 コミュニティのリポジトリにマージ! ■ 5月16日 resource-agents 3.9.3 としてリリース Pacemakerのコンポーネント名 Copyright(c)2012 NTT, Inc. All Rights Reserved. 2
3.
HAクラスタの今までの構成 ~Active/Standby 構成~ PostgreSQLのデータは共有ディスク上に配置し、2台のサーバ間 で共有 通常はActiveサーバでサービスを提供し、Activeサーバ故障時は StandbyサーバがActiveとなりサービスを提供
(フェイルオーバ) フェイルオーバ Standby Active Active 故障 故障発生 マウント マウント DBデータ DBデータ 共有ディスク 共有ディスク Copyright(c)2012 NTT, Inc. All Rights Reserved. 3
4.
レプリケーション構成 ~Master/Slave 構成~ PostgreSQLのデータはローカルディスク上に配置し、 PostgreSQLのストリーミングレプリケーション機能を用いて共有 通常はMasterサーバでサービスを提供し、Masterサーバ故障時は SlaveサーバがMasterに昇格しサービスを継続 フェイルオーバ Slave Master Master 故障 レプリケーション DBデータ ローカルディスク DBデータ ローカルディスク Copyright(c)2012
NTT, Inc. All Rights Reserved. 故障発生 DBデータ ローカルディスク DBデータ ローカルディスク 4
5.
Active/Standby vs Master/Slave Active/Standby Master/Slave ハードウェア費用 共有ディスク(相当のもの)必須 運用のしやすさ データは1箇所のみ データの安全性 最新データは 共有ディスク上のみ サービス継続性 フェイルオーバ時に リカバリに時間を要する Slave故障がサービスに影響 DB性能 レプリケーションの オーバヘッドなし 共有ディスク構成をとれない 高速ストレージを活用可 負荷分散 構成上不可能 実績 2箇所のデータの整合性を考慮 最新データは2箇所に分散 (同期レプリケーション使用時) ReadOnlyクエリを Slaveで処理可能 これから・・・・ それぞれ一長一短。サービスの要件に応じて選択すること。 Copyright(c)2012
NTT, Inc. All Rights Reserved. 5
6.
レプリケーション構成のHAクラスタ化 3大機能 ①フェイルオーバ フェイルオーバ Master 故障発生 Master 故障 Slave 古 DBデータ DBデータ ②同期・非同期の切替 同期・非同期の DBデータ DBデータ Slave 故障発生 非同期 Master レプリケーション ③ データの状態管理 ③
データの状態管理 ③ データの状態管理 ③ データの状態管理 Master 同期 レプリケーション 故障 DBデータ Copyright(c)2012 NTT, Inc. All Rights Reserved. 古 DBデータ 6
7.
基本構成 負荷分散 しないならば 削除可 サービス提供用LAN Read Only Read/Write 仮想IP3 (vip-slave) 仮想IP1 (vip-master) PostgreSQL (Master) レプリケーション用 レプリケーション用LAN 仮想IP2 (vip-rep) 制御 制御 pgsql RA Pacemaker PostgreSQL (Slave) pgsql
RA Pacemaker用 Pacemaker用LAN Pacemaker STONITH 用LAN サーバ#1 ローカルディスク Copyright(c)2012 NTT, Inc. All Rights Reserved. ※次ページからは省略 ページからは省略 サーバ#2 ローカルディスク 7
8.
基本動作1 : Masterのフェイルオーバ vip-master vip-master PostgreSQL ①故障 (Master) vip-master vip-master vip-slave vip-rep PostgreSQL 故障 ②停止 (Master) PostgreSQL (Slave) vip-slave vip-slave vip-rep vip-rep PostgreSQL (Master) ⑤(Slave) pgsql
RA pgsql RA pgsql RA pgsql RA pgsql RA pgsql RA Pacemaker Pacemaker Pacemaker Pacemaker Pacemaker サーバ#1 サーバ#1 サーバ#1 サーバ#2 サーバ#2 サーバ#2 古 ① #1のPostgreSQLの故障を検知 Copyright(c)2012 NTT, Inc. All Rights Reserved. ② ③ ④ ⑤ ⑥ ④ #1のPostgreSQLを停止 仮想IP(vip-master, vip-rep, vip-slave)を停止 #1のデータが古いことを記録 #2のPostgreSQLをMasterに昇格(promote) #2で仮想IP(vip-master, vip-rep, vip-slave) を起動 8
9.
基本動作2 : 同期・非同期の切替 ② vip-slave ③検知 vip-master PostgreSQL (Master) vip-slave 同期 vip-rep PostgreSQL ①故障 (Slave) ⑤ vip-slave vip-master PostgreSQL (Master) ⑦
非同期 同期 vip-rep PostgreSQL 故障 ④停止 (Slave) pgsql RA pgsql RA pgsql RA pgsql RA Pacemaker Pacemaker Pacemaker Pacemaker サーバ#1 サーバ#2 サーバ#1 サーバ#2 サーバ#2 ⑥ ① ② ~ ③ Slaveの故障発生 Masterのトランザクション停止 レプリケーションのタイムアウト待ち~ #1でレプリケーション切断を検知 SELECT * from pg_stat_replication Copyright(c)2012 NTT, Inc. All Rights Reserved. ④ ⑤ ⑥ ⑦ 古 古 #2のPostgreSQLを停止 #2の仮想IP(vip-slave)を#1に付け替え #2のデータが古いことを記録 #1のPostgreSQLを非同期設定に変更 → トランザクション再開 9
10.
ここまでが基本動作 次はフェイルオーバ後の復旧 Copyright(c)2012 NTT, Inc.
All Rights Reserved. 10
11.
TimelineID PostgreSQLがSlaveからMasterへ昇格した際インクリメントされる数値 TimelineIDが異なるとレプリケーション接続ができない フェイルオーバ時 フェイルオーバ時 フェイルオーバ Master Slave レプリケーション Slave→ Slave→Master 故障 5 5 5 5 6 異なる TimelineIDをそろえるには 新Masterのデータを旧Masterへコピーする必要あり Copyright(c)2012 NTT, Inc.
All Rights Reserved. 11
12.
運用1: フェイルオーバ後の復旧 ⑥ vip-master vip-master pgsql RA pgsql
RA pgsql RA Pacemaker Pacemaker サーバ#1 サーバ#1 サーバ#1 古 vip-rep vip-rep 故 故 ③ フラグ・クリア ロック削除 ② データ同期 ⑤ 同期 レプリケーション PostgreSQL PostgreSQL (Slave) (Master) PostgreSQL ④ (Slave) PostgreSQL vip-rep (Master) pgsql RA pgsql RA pgsql RA pgsql RA pgsql RA pgsql RA Pacemaker Pacemaker Pacemaker Pacemaker サーバ#2 サーバ#2 サーバ#2 サーバ#1 サーバ#2 新 ① 故障の復旧 ② #1のデータを#2と同期 → TimelineIDがそろう ③ #1のロックファイル削除と Pacemaker上の故障フラグを クリア Copyright(c)2012 NTT, Inc. All Rights Reserved. vip-slave vip-slave vip-slave vip-slave vip-slave vip-slave PostgreSQL ①故障復旧 故障 故障 (Master) vip-master (手動) ④ #1のPostgreSQLをSlaveで起動 ⑤ レプリケーション開始 → 非同期で接続→同期設定に切替 ⑥ #2の仮想IP(vip-slave)を#1に付け替え 12
13.
次は起動方法 Copyright(c)2012 NTT, Inc.
All Rights Reserved. 13
14.
PostgreSQLとPacemakerの状態遷移 Masterを直接 起動可能 recovery.conf なしで起動 recovery.conf ありで起動 pg_ctl
promote Slave STOP Master 停止 停止 × start promote Slave STOP stop Master demote PostgreSQLのMasterは必ずSlaveを経由して起動される PostgreSQLのMasterは必ずSlaveを経由して起動される → Master起動時もTimelineIDがインクリメントされる → Master起動時もTimelineIDがインクリメントされる Copyright(c)2012 NTT, Inc. All Rights Reserved. 14
15.
運用2 : 起動 vip-slave ③仮想IP起動 vip-slave vip-master PostgreSQL 停止 ) (Master) ②起動 ⑥ vip-slave vip-master vip-rep PostgreSQL 停止 停止 (Master) ) vip-rep PostgreSQL 停止 (Slave) ⑤起動 pgsql
RA pgsql RA pgsql RA pgsql RA Pacemaker Pacemaker Pacemaker サーバ#1 サーバ#1 サーバ#2 ① 新 古 ① データが新しい方のサーバーを選択 ② 選択したサーバのPacemakerを起動 → Slaveで起動 → Masterに遷移 → TimelineIDがずれる ③ 仮想IPが#1で起動 Copyright(c)2012 NTT, Inc. All Rights Reserved. 新 (手動) サーバ#2 ④ データ同期 古 ④ #2のデータを#1と同期 (手動) → TimelineIDがそろう ⑤ Pacemaker起動 → レプリケーション開始 ⑥ #1の仮想IP(vip-slave) を#2に付け替え 15
16.
高可用化まとめ 3大機能 ■ Masterのフェイルオーバ ■ レプリケーションの同期・非同期の切替 ■
データの状態管理 運用時の注意 ■ TimelineIDがずれているとレプリケーションできないため注意 • 難しくてよくわからない場合は、 『Slave 起動前に Master データのコピーが必要』 と覚えておけばOK ※ 単純にTimelineID を合わせるためには、WALアーカイブのみをコピーすれば可能だが、 フェイルオーバするとサーバ間のデータの整合性が崩れる可能性があり、これを避けるためにも 全データのコピーを推奨 Copyright(c)2012 NTT, Inc. All Rights Reserved. 16
17.
デモ Copyright(c)2012 NTT, Inc.
All Rights Reserved. 17
18.
デモ環境 サービス提供用LAN 仮想IP1 (vip-master) PostgreSQL (msPostgresql) <Master> Pacemaker ホスト名 : pm01 ローカルディスク Copyright(c)2012
NTT, Inc. All Rights Reserved. 仮想IP3 (vip-slave) レプリケーション用 レプリケーション用LAN 仮想IP2 (vip-rep) Pacemaker用 Pacemaker用LAN PostgreSQL (msPostgresql) <Slave> Pacemaker ホスト名 : pm02 ローカルディスク 18
19.
Pacemaker状態表示例 (crm_mon –Af
実行時) Online: [ pm01 pm02 ] vipvip-slave (ocf::heartbeat:IPaddr2): masterResource Group: master-group vipvip-master (ocf::heartbeat:IPaddr2): vipvip-rep (ocf::heartbeat:IPaddr2): Master/Slave Set: msPostgresql Masters: [ pm01 ] Slaves: [ pm02 ] Clone Set: clnPingd Started: [ pm01 pm02 ] Node Attributes: * Node pm01: + default_ping_set master+ master-pgsql:0 pgsql-data+ pgsql-data-status pgsql+ pgsql-status pgsql-master+ pgsql-master-baseline + pm02-eth1 pm02pm02+ pm02-eth2 * Node pm02: + default_ping_set master+ master-pgsql:1 pgsql-data+ pgsql-data-status pgsql+ pgsql-status pm01+ pm01-eth1 pm01+ pm01-eth2 Migration summary: * Node pm01: * NTT, Inc. All Copyright(c)2012Node pm02: Rights Reserved. Started pm02 Started pm01 Started pm01 仮想IPの 状態 PostgreSQLの の Master/Slaveの状態 の状態 : : : : : : : 100 1000 LATEST PRI 00000000150000B0 up up : : : : : : 100 100 STREAMING|SYNC HS:sync up up pm01ノードの ノードのPostgreSQLと と ノードの データの状態 promote直前の 直前のxlogの位置 の位置 直前の pm02ノードの ノードのPostgreSQLと ノードの と データの状態 19
20.
Pacemaker状態表示 省略後(今回のデモ用表示) vip-slave (ocf::heartbeat:IPaddr2): Started
pm02 Resource Group: master-group vip-master (ocf::heartbeat:IPaddr2): Started pm01 vip-rep (ocf::heartbeat:IPaddr2): Started pm01 Master/Slave Set: msPostgresql Masters: [ pm01 ] Slaves: [ pm02 ] --------------------------------------------------------* Node pm01: + pgsql-data-status : LATEST + pgsql-status : PRI * Node pm02: + pgsql-data-status : STREAMING|SYNC + pgsql-status : HS:sync --------------------------------------------------------* Node pm01: * Node pm02: Copyright(c)2012 NTT, Inc. All Rights Reserved. 仮想IPの 状態 PostgreSQLの の Master/Slaveの状態 の状態 pm01ノードの ノードのPostgreSQLと ノードの と データの状態 pm02ノードの ノードのPostgreSQLと ノードの と データの状態 故障状態が表示される 20
21.
【デモ】 Slaveの故障 pm02のPostgreSQLのプロセスをkill # killall
-9 postgres vip-slaveの移動 vip-slave vip-master vip-slave Started pm02 ↓ Started pm01 故障 PostgreSQL (Master) 非同期 設定に切替 (表示上わからない) Pacemaker PM01 vip-rep PostgreSQL (停止) 故障 検知 Pacemaker PM02 データ状態の 記録 STREAMING|SYNC ↓ DISCONNECTED Copyright(c)2012 NTT, Inc. All Rights Reserved. 21
22.
【デモ】 Slaveの復旧 pm02のフェイルカウントクリア # crm resource
cleanup msPostgresql pm02 vip-slaveの移動 vip-slave vip-slave vip-master PostgreSQL (Master) 同期 設定に切替 vip-rep Pacemaker PostgreSQL (Slave) Pacemaker PM01 PM02 Started pm01 ↓ Started pm02 データ状態の 記録 DISCONNECTED ↓ STREAMING|SYNC Slave起動 Copyright(c)2012 NTT, Inc. All Rights Reserved. HS:sync 22
23.
【デモ】 Masterの故障 pm01のPostgreSQLのプロセスをkill # killall
-9 postgres 故障 検知 vip-masterの移動 vip-master vip-master vip-slave 故障 vip-repの移動 Started pm01 ↓ Started pm02 データ状態の 記録 LATEST ↓ DISCONNECTED Copyright(c)2012 NTT, Inc. All Rights Reserved. PostgreSQL (停止) Pacemaker PM01 vip-rep vip-rep PostgreSQL (Master) Started pm01 ↓ Started pm02 Masterに昇格 Pacemaker PM02 23
24.
PostgreSQL制御スクリプト (pgsql RA)
の最近の動き resource-agent 3.9.4 (11/23リリース) での変更内容 ■ Pacemaker 1.1.x の仕様変更に追従 • Pacemaker 1.0.x との互換は保持 ■ recovery.confの、archive_cleanup_commandや recovery_end_commandを設定可能に ■ promote時にPostgreSQLをpromoteするのではなく、 recovery.confを削除して再起動させることでMaster化可能に • Timeline ID のインクリメント防止可能に – ただしexperimental 機能 ■ その他細かなバグ修正 Copyright(c)2012 NTT, Inc. All Rights Reserved. 24
25.
動作環境 Pacemaker 1.0.12 以上推奨 resource-agents
3.9.3 以上必須 ■ Linux-HA Japan Pacemakerリポジトリパッケージ 1.0.12-1.2 以上に同梱 (2012年7月リリース) PostgreSQL 9.1 以上 ■ 9.0では動きません Copyright(c)2012 NTT, Inc. All Rights Reserved. 25
26.
参考 ソースコード (GitHub上のRA直リンク) ■ URL
: https://github.com/ClusterLabs/resource-agents/blob/master/heartbeat/pgsql ドキュメントおよび設定例 (GitHubのWiki) ■ https://github.com/t-matsuo/resource-agents/wiki/ Pacemakerダウンロード・インストール ■ http://linux-ha.sourceforge.jp/ PG-REX(PostgreSQL + Pacemaker)利用マニュアル ■ http://sourceforge.jp/projects/pg-rex/releases/55691 Copyright(c)2012 NTT, Inc. All Rights Reserved. 26
27.
Question? Copyright(c)2012 NTT, Inc.
All Rights Reserved. 27
Download now